// var xiaoming={
//     name:'小明',
//     birth:2000
// }


// var xiaoming ={
//     name:'小明',
//     birth:2000,
//     age:function(){
//         var t= new Date().getFullYear();
//          return y=this.birth;
//     }
// }

//一个对象中绑定函数，称为这个函数的方法
绑到对象上的函数称为方法
// var arr=[1,4,5]

// function fn(){
//     console.log(this);
// }

// arr.age=function(){
//     console.log(this);
//     this.forEach(itrm=>{console.log(itrm);})
// }
// arr.age();
// fn();


// function getage(){
//     let x=new Date().getFullYear();
//     // console.log(x);

//     return  x-this.birth;
// }

// let mm={
//     name:'明明',
//     birth:2001,
//     age:getage
// }
// let age=mm.age();

// console.log(getAge.apply(mm));
// console.log(getAge.call(mm));
// console.log(age);

//装饰器 apply
var count=0;
var oldPaseInt =paseInt;

window.parseInt=function()
{
count +=1;
return oldPaseInt.apply(null,arguments);
}

paseInt('10');
paseInt('20');
paseInt('30');
console.log('count='+count);